package com.ajk.server.service;
import java.util.List;

import com.ajk.server.model.TestAnswer;
import com.ajk.server.model.TestCategoryDict;
import com.ajk.server.model.query.TestCategoryDictQuery;
import com.ajk.server.model.request.QuestionAnswerReq;
import com.ajk.server.model.response.TestCategoryDictRes;

/**
 * 健康自测类型-支持管理平台配置  <br>
 * dict_test_category <br>
 * v1.0 2016-05-01
 */
 public interface TestCategoryDictService {
	
	/**
 	*根据ID删除 健康自测类型-支持管理平台配置
 	*/
 	public Integer deleteTestCategoryDictById(Integer id);
 	
 	/**
 	*新增 健康自测类型-支持管理平台配置
 	*/
 	public Integer batchInsertTestCategoryDict(List<? extends TestCategoryDict> testCategoryDicts);
 	
 	/**
 	*新增 健康自测类型-支持管理平台配置
 	*/
 	public Integer insertTestCategoryDict(TestCategoryDict domain);
 
 	/**
 	*更新 健康自测类型-支持管理平台配置
 	*/
 	public Integer updateTestCategoryDict(TestCategoryDict domain);
 	
 	/**
 	*根据ID查询 健康自测类型-支持管理平台配置
 	*/
 	public TestCategoryDict findTestCategoryDictById(Integer id);

	/**
 	*通过query 查询 健康自测类型-支持管理平台配置
 	*/
	public List<TestCategoryDict> findTestCategoryDictByQuery(TestCategoryDictQuery query);	
	
	/**
 	*通过query count总条数
 	*/
 	public Integer countTestCategoryDictByQuery(TestCategoryDictQuery query);
 	
 	/**
 	* 通过ids查询
 	*/
 	public List<TestCategoryDict> findTestCategoryDictByIds(List<Integer> ids);
 	
 	/**
 	*根据name查询 健康自测类型-支持管理平台配置
 	*/
	public TestCategoryDict findByName(String name);
	
	/**
 	*获取所有字典 健康自测类型-支持管理平台配置
 	*/
	public List<TestCategoryDictRes> findAll();
	
	/**
	 * 根据类型获取其子类
	 */
	public List<TestCategoryDict> findByParentId(Integer parentId,Integer start,Integer limit);
	
	/**
	 * 根据试卷ID查询试卷详情,根据seq倒排
	 */
	public TestCategoryDictRes findPaperById(Integer paperId);
	
	public TestCategoryDictRes findPaperByIdWithCahche(Integer paperId);
	public void syncSingletonRedis(Integer regionId);
	
	public void syncInRedis(boolean force);	
	
	
}	